<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

function getCodigoDeSubcuenta($codigoCuentaPadre, $preCodigoSubcuenta) {
    $longitudDeCadena = strlen($codigoCuentaPadre);
    $preCodigo = "";
    for ($indice = $longitudDeCadena - 1; $indice >= 0; $indice--) {
        if ($codigoCuentaPadre[$indice] != 0) {
            $preCodigo = substr($codigoCuentaPadre, -7, $indice + 1);
            break;
        }
    }
    $codigoSubCuentaFinal = $preCodigo . $preCodigoSubcuenta;
    return $codigoSubCuentaFinal;
}

$mensaje = "";
if (isset($_POST['codigoSubCuenta']) && isset($_POST['descripcionSubCuenta']) &&
        isset($_POST['codigoPadreSeleccionado']) && trim($_POST['codigoSubCuenta']) != '' && trim($_POST['descripcionSubCuenta']) != '') {

    include_once 'conexion.php';
    $enlace = getConeccion();
    $sqlValidarUsoDeCuenta = "select usr_administra_cuenta.nickUsuario, cuenta.codCuenta,
        tipocuenta.idtipoCuenta, cuenta.idCuenta, nodo.idCuentaHija, nodo.idCuentaPadre from usr_administra_cuenta 
        inner join cuenta on usr_administra_cuenta.idCuenta=cuenta.idCuenta 
        inner join nodo on nodo.idCuenta=cuenta.idCuenta 
        inner join tipocuenta on tipocuenta.idtipoCuenta=cuenta.idtipoCuenta where " .
            " usr_administra_cuenta.nickUsuario='mirror180" .
            //" usr_administra_cuenta.nickUsuario='" . $_SESSION['usuario']['nick'] .
            "' and cuenta.codCuenta=" . $_POST['codigoPadreSeleccionado'];
    $result = mysql_query($sqlValidarUsoDeCuenta, $enlace);
    $infoCuentaPadre = mysql_fetch_array($result);
    if (mysql_affected_rows() > 0) {
        mysql_query('BEGIN', $enlace);
        $exito = TRUE;
        $sqlInsertarCuenta = "INSERT INTO `cuenta`(`descripcionCuenta`, 
            `codCuenta`, `idtipoCuenta`) VALUES ('" . $_POST['descripcionSubCuenta'] . "',
               " . getCodigoDeSubcuenta($infoCuentaPadre['codCuenta'], $_POST['codigoSubCuenta']) .
                "," . $infoCuentaPadre['idtipoCuenta'] . ")";
        $exito &= mysql_query($sqlInsertarCuenta, $enlace);
        $ultimoIdCuentaHija = mysql_insert_id();
        $sqlInsertarUsrCuenta = "INSERT INTO `usr_administra_cuenta`(`nickUsuario`
            , `idCuenta`) VALUES ('" . $infoCuentaPadre['nickUsuario'] . "'," . $ultimoIdCuentaHija . ")";
        $exito &= mysql_query($sqlInsertarUsrCuenta, $enlace);
        $sqlInsertarDetalleCuenta = "INSERT INTO `detallecuenta`(`idCuenta`,`fechaCuenta`) VALUES (" .
                $ultimoIdCuentaHija . ", '" . date('Y-m-d') . "')";
        $exito &= mysql_query($sqlInsertarDetalleCuenta, $enlace);
        $sqlInsertarNodoHijo = "INSERT INTO `nodo`(`idCuenta`,`idCuentaPadre`) 
            VALUES (" . $ultimoIdCuentaHija . ", " . $infoCuentaPadre['idCuenta'] . ")";
        $exito &= mysql_query($sqlInsertarNodoHijo, $enlace);
        if ($infoCuentaPadre['idCuentaHija'] == NULL) {
            $sqlUpdateNodoPadre = "UPDATE `nodo` SET `idCuentaHija`=" . $ultimoIdCuentaHija .
                    " WHERE nodo.idCuenta=" . $infoCuentaPadre['idCuenta'];
            $exito &= mysql_query($sqlUpdateNodoPadre, $enlace);
        } else {
            $sqlInsertarNodoPadre = "";
            if ($infoCuentaPadre['idCuentaPadre'] == NULL) {
                $sqlInsertarNodoPadre = "INSERT INTO `nodo`(`idCuenta`,`idCuentaHija`) 
            VALUES (" . $infoCuentaPadre['idCuenta'] . ", " . $ultimoIdCuentaHija . " )";
            } else {
                $sqlInsertarNodoPadre = "INSERT INTO `nodo`(`idCuenta`,`idCuentaHija`, `idCuentaPadre` ) 
            VALUES (" . $infoCuentaPadre['idCuenta'] . ", " . $ultimoIdCuentaHija . ", " .
                        $infoCuentaPadre['idCuentaPadre'] . " )";
            }
            var_dump($sqlInsertarNodoPadre);
            $exito &= mysql_query($sqlInsertarNodoPadre, $enlace);
        }

        if ($exito) {
            mysql_query('COMMIT', $enlace);
            $mensaje = "Los datos han sido guardados exitosamente";
            $mensaje = '<div class="msg-success"><label>' . $mensaje . '</label></div>';
        } else {
            mysql_query('ROLLBACK', $enlace);
            if ($mensaje == "") {
                $mensaje = "Ocurio un error en al insertar los datos contacte al administrador.";
            }
            $mensaje = '<div class="msg-error"><label>' . $mensaje . '</label></div>';
        }
    } else {
        $mensaje = '<div class="msg-error">El usuario no tiene acceso a esta cuenta</label></div>';
    }
} else {
    echo '<div class="msg-error"><label>Los campos no pueden ser vacios</label></div>';
}
echo $mensaje;
?>
